package com.teamin.service.impl.wx;

import com.alibaba.fastjson.JSONObject;
import com.teamin.web.Evn;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * 个人消息通知 公众号
 * 
 * @author qfu
 *
 */
@Component
public class WXSmallTemplate extends WXTemplate {

	@Value("${template_small.new_task}")	//小程序的密钥
	public String NEW_TASK ;//新任务模板
	@Value("${template_small.assigner_change_task}")	//小程序的密钥
	public String ASSIGNER_CHANGE_TASK ;//任务执行者更改模板  <个人消息通知>
	@Value("${template_small.state_change_task}")	//小程序的密钥
	public String STATE_CHANGE_TASK ;// 关注任务状态发生变更
	@Value("${template_small.circle_progress}")	//小程序的密钥
	public String CIRCLE_PROGRESS ;// 圈子进展
	@Value("${template_small.task_at}")	//小程序的密钥
	public String TASK_AT  ;// 任务评论
	@Value("${template_small.task_delete}")	//小程序的密钥
	public String TASK_DELETE  ;// 任务评论
	/**
	 * 创建新任务模板
	 * 项目名称 {{keyword1.DATA}}
	 * 任务名称 {{keyword2.DATA}}
	 * 温馨提示 {{keyword3.DATA}}
	 */
	public JSONObject createNewTaskTemplate(String keyword1,String keyword2,String keyword3,String openId,Long circleId,Long taskId,String fromId) {
		JSONObject json = new JSONObject() ;
		JSONObject jsdata = new JSONObject() ;
		jsdata.put("keyword1",new TemplateValueColor(keyword1)) ;
		jsdata.put("keyword2",new TemplateValueColor(keyword2)) ;
		jsdata.put("keyword3",new TemplateValueColor(keyword3)) ;
		json.put("data",jsdata) ;
		json.put("topcolor","#FF0000") ;
		json.put("touser",openId) ;
		json.put("template_id",NEW_TASK) ;
		json.put("form_id",fromId) ;
		JSONObject wxsmall = new JSONObject() ;
		json.put("page", "pages/detail?taskId="+taskId+"&circleId="+circleId) ;
		//json.put("emphasis_keyword","keyword3.DATA") ;
		return json ;
	}

	/**
	 * 任务执行者变更
	 * 项目名称 {{keyword1.DATA}}
	 * 任务名称 {{keyword2.DATA}}
	 * 温馨提示 {{keyword3.DATA}}
	 * @return
	 */
	public JSONObject taskAssignerChangeTemplate(String keyword1,String keyword2,String keyword3,String openId,Long circleId ,Long taskId,String fromId) {
		JSONObject json = new JSONObject() ;
		JSONObject jsdata = new JSONObject() ;
		jsdata.put("keyword1",new TemplateValueColor(keyword1)) ;
		jsdata.put("keyword2",new TemplateValueColor(keyword2)) ;
		jsdata.put("keyword3",new TemplateValueColor(keyword3)) ;
		json.put("data",jsdata) ;
		json.put("topcolor","#FF0000") ;
		json.put("touser",openId) ;
		json.put("template_id",ASSIGNER_CHANGE_TASK) ;
		json.put("form_id",fromId) ;
		json.put("page", "pages/detail?taskId="+taskId+"&circleId="+circleId) ;
		//json.put("emphasis_keyword","keyword3.DATA") ;

		return json ;
	}

	/**
	 * 任务完成
	 * 项目名称 {{keyword1.DATA}}
	 * 任务名称 {{keyword2.DATA}}
	 * 温馨提示 {{keyword3.DATA}}
	 * @return
	 */
	public JSONObject taskFinish(String keyword1,String keyword2,String keyword3,String openId,Long circleId ,Long taskId,String fromId) {
		JSONObject json = new JSONObject() ;
		JSONObject jsdata = new JSONObject() ;
		jsdata.put("keyword1",new TemplateValueColor(keyword1)) ;
		jsdata.put("keyword2",new TemplateValueColor(keyword1)) ;
		jsdata.put("keyword3",new TemplateValueColor(keyword3)) ;
		json.put("data",jsdata) ;
		json.put("topcolor","#FF0000") ;
		json.put("touser",openId) ;
		json.put("template_id",STATE_CHANGE_TASK) ;
		json.put("form_id",fromId) ;
		json.put("page", "pages/detail?taskId="+taskId+"&circleId="+circleId) ;
		//json.put("emphasis_keyword","keyword2.DATA") ;
		return json ;
	}

	/**
	 * 任务评论AT 通知
	 * 评论主题 {{keyword1.DATA}}
	 * 评论内容 {{keyword2.DATA}}
	 * 评论时间 {{keyword3.DATA}}
	 * 评论人 {{keyword4.DATA}}
	 * @return
	 */
	public JSONObject commentAtString(String keyword1,String keyword2,String keyword3,String keyword4,String openId,String url,Long circleId ,Long taskId,String fromId) {
		JSONObject json = new JSONObject() ;
		JSONObject jsdata = new JSONObject() ;
		jsdata.put("keyword1",new TemplateValueColor(keyword1)) ;
		jsdata.put("keyword2",new TemplateValueColor(keyword2)) ;
		jsdata.put("keyword3",new TemplateValueColor(keyword3)) ;
		jsdata.put("keyword4",new TemplateValueColor(keyword4)) ;

		json.put("data",jsdata) ;
		json.put("topcolor","#FF0000") ;
		json.put("touser",openId) ;
		json.put("url",url) ;
		json.put("template_id",TASK_AT) ;
		json.put("form_id",fromId) ;
		json.put("appid", Evn.SMALL_APP_ID) ;
		json.put("page","pages/detail?taskId="+taskId+"&circleId="+circleId) ;
		//json.put("emphasis_keyword","keyword2.DATA") ;
		return json ;
	}

	/**
	 * 用户在圈子中的任务状态
	 * 项目名称 {{keyword1.DATA}}
	 * 进展内容 {{keyword2.DATA}}
	 * 截止时间 {{keyword3.DATA}}
	 */
	public JSONObject userTaskState(String keyword1,String keyword2,String keyword3,String openId,Long circleId,String fromId) {
		JSONObject json = new JSONObject() ;
		JSONObject jsdata = new JSONObject() ;
		jsdata.put("keyword1",new TemplateValueColor(keyword1)) ;
		jsdata.put("keyword2",new TemplateValueColor(keyword2)) ;
		jsdata.put("keyword3",new TemplateValueColor(keyword3)) ;
		json.put("data",jsdata) ;
		json.put("topcolor","#FF0000") ;
		json.put("touser",openId) ;
		json.put("template_id",CIRCLE_PROGRESS) ;
		json.put("form_id",fromId) ;
		//json.put("emphasis_keyword","keyword2.DATA") ;
		json.put("page", "pages/list?circleId="+circleId) ;

		return json ;
	}

	/**
	 * 任务删除
	 * 项目名称 {{keyword1.DATA}}
	 * 任务名称 {{keyword2.DATA}}
	 * 温馨提示 {{keyword3.DATA}}
	 * @return
	 */
	public JSONObject taskDelete(String keyword1,String keyword2,String keyword3,String openId,Long circleId ,Long taskId,String fromId) {
		JSONObject json = new JSONObject() ;
		JSONObject jsdata = new JSONObject() ;
		jsdata.put("keyword1",new TemplateValueColor(keyword1)) ;
		jsdata.put("keyword2",new TemplateValueColor(keyword2)) ;
		jsdata.put("keyword3",new TemplateValueColor(keyword3)) ;
		json.put("data",jsdata) ;
		json.put("topcolor","#FF0000") ;
		json.put("touser",openId) ;
		json.put("template_id",ASSIGNER_CHANGE_TASK) ;
		json.put("form_id",fromId) ;
		json.put("page", "pages/list?circleId="+circleId) ;
		//json.put("emphasis_keyword","keyword3.DATA") ;

		return json ;
	}

	/**
	 * 任务删除
	 * 项目名称 {{keyword1.DATA}}
	 * 任务名称 {{keyword2.DATA}}
	 * 温馨提示 {{keyword3.DATA}}
	 * @return
	 */
	public JSONObject taskRemind(String keyword1,String keyword2,String keyword3,String openId,Long circleId ,Long taskId,String fromId) {
		JSONObject json = new JSONObject() ;
		JSONObject jsdata = new JSONObject() ;
		jsdata.put("keyword1",new TemplateValueColor(keyword1)) ;
		jsdata.put("keyword2",new TemplateValueColor(keyword2)) ;
		jsdata.put("keyword3",new TemplateValueColor(keyword3)) ;
		json.put("data",jsdata) ;
		json.put("topcolor","#FF0000") ;
		json.put("touser",openId) ;
		json.put("template_id",ASSIGNER_CHANGE_TASK) ;
		json.put("form_id",fromId) ;
		json.put("page", "pages/list?circleId="+circleId) ;
		//json.put("emphasis_keyword","keyword3.DATA") ;

		return json ;
	}

}
